﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//打印 1~100之间的奇数
//int main()
//{
//	for (int i = 1; i <= 100; i++)
//	{
//		if (i % 2 != 0)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//打印9*9乘法⼝诀表
//int main()
//{
//	for (int i = 1; i <= 9; i++)
//	{
//		for (int j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%d ", i, j, i * j);
//			if (i * j < 10)
//			{
//				printf(" ");
//			}
//		}
//		printf("\n");
//	}
//	return 0;
//}

//使⽤C语⾔写⼀个程序打印100~200之间的素数，数字中间使⽤空格分割。
//#include<math.h>
//int main()
//{
//	for (int i = 101; i <= 200; i += 2)
//	{
//		int flag = 1;
//		for (int j = 2; j <= sqrt(i); j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//		if (flag == 1)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//输⼊三个整数a, b, c，判断由a, b, c作为三条边组成的三⻆形，如果不能组成三⻆形则输出：⾮三⻆
//形；如果是三⻆形，再继续判断，如果是等边三⻆形，则输出：等边三⻆形；如果是等腰三⻆形，则
//输出：等腰三⻆形；否则输出普通三⻆形。
//int main()
//{
//	int a, b, c;
//	scanf("%d %d %d", &a, &b, &c);
//	if (a + b > c && a + c > b && b + c > a)
//	{
//		if (a == b && b == c)
//		{
//			printf("等边三角形");
//		}
//		else if (a == b || b == c || a == c)
//		{
//			printf("等腰三角形");
//		}
//		else
//		{
//			printf("普通三角形");
//		}
//	}
//	else
//	{
//		printf("非三角形");
//	}
//	return 0;
//}

//输⼊2个整数m和n，计算m和n的最⼤公约数，并打印出结果。
//int main()//法1
//{
//	int m, n;
//	scanf("%d %d", &m, &n);
//	int c = 0;
//	while (c = m % n)
//	{
//		m = n;
//		n = c;
//	}
//	printf("%d", n);
//	return 0;
//}

//int main()//法二
//{
//	int m, n;
//	scanf("%d %d", &m, &n);
//	int min = m <= n ? m : n;
//	while (1)
//	{
//		if (m % min == 0 && n % min == 0)
//		{
//			break;
//		}
//		min--;
//	}
//	printf("%d", min);
//	return 0;
//}

//输⼊2个整数m和n，计算m和n的最⼩公倍数，并打印出结果
//int main()//方法
//{
//	int m, n;
//    scanf("%d %d", &m, &n);
//	int max = m >= n ? m : n;
//	while (1)
//	{
//		if (max % m == 0 && max % n == 0)
//		{
//			break;
//		}
//		max++;
//	}
//	printf("%d", max);
//	return 0;
//}
//int main()//方法2
//{
//	int m, n;
//	scanf("%d %d", &m, &n);
//	int ret = m * n;
//	int k = 0;
//	while (k = m % n)
//	{
//		m = n;
//		n = k;
//	}
//	printf("%d", ret/n);
//	return 0;
//}
// 
// 
// 
// 
// 
//计算 1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 - … + 1 / 99 - 1 / 100 的值，并打印出结果，（注：除法分为整数除法和
//浮点数除法，要计算出⼩数，得采⽤浮点数除法，浮点数除法的操作数中⾄少要保证有⼀个浮点
//数。）
//int main()
//{
//	int a = 1;
//	double sum = 0;
//	for (int i = 1; i <= 100; i++)
//	{
//		sum += 1.0 / (a * i);
//		a = -a;
//	}
//	printf("%f", sum);
//	return 0;
//}

//输⼊10个整数，写代码找出其中最⼤值和最⼩值，计算最⼤值和最⼩值的差，并打印出差值结果
//int main()
//{
//	int arr[10];
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int max, min;
//	max = min = arr[0];
//	for (int i = 1; i < 10; i++)
//	{
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//		if (arr[i] < min)
//		{
//			min = arr[i];
//		}
//	}
//	printf("%d", max - min);
//	return 0;
//}

//输⼊10个整数，然后使⽤冒泡排序对数组内容进⾏升序排序，然后打印数组的内容
//int main()
//{
//	int arr[10];
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (int i = 0; i < 9; i++)
//	{
//		int flag = 1;
//		for (int j = 0; j < 9 - i; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				flag = 0;
//				int ret = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = ret;
//			}
//		}
//		if (flag == 1)
//		{
//			break;
//		}
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//}


//某地发⽣了⼀件盗窃案，警察通过排查确定盗窃者必为4个嫌疑⼈的⼀个。
//以下为4个嫌疑⼈的供词:
//A说：不是我。
//B说：是C。
//C说：是D。
//D说：C在胡说
//已知3个⼈说了真话，1个⼈说的是假话。
//现在请根据这些信息，写⼀个程序来确定到底谁是盗窃者。
//int main()
//{
//	char thieves;
//	for (thieves = 'a'; thieves <= 'd'; thieves++)
//	{
//		if (('a' != thieves) + ('c' == thieves) + ('d' == thieves) + ('d' != thieves) == 3)
//		{
//			printf("%c", thieves);
//		}
//	}
//	return 0;
//}

//⾃幂数是指⼀个数的位数的n次⽅等于这个数本⾝。例如，153是⾃幂数，因为 1^3+5^3+3^3=153。
//写⼀个代码打印1~100000之间的所有的⾃幂数，中间⽤空格分隔。
//#include<math.h>
//int main()
//{
//	for (int i = 1; i <= 100000; i++)
//	{
//		int ret = i;
//		int count = 0;
//		while (ret)
//		{
//			count++;
//			ret /= 10;
//		}
//		ret = i;
//		int sum = 0;
//		while (ret)
//		{
//			sum += pow(ret % 10, count);
//			ret /= 10;
//		}
//		if (sum == i)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//输⼊⼀个整数n，打印对应2* n - 1⾏的菱形图案，⽐如，输⼊7，输出如下图案，图案总共13⾏
//      *
//     ***
//    *****
//   *******
//  *********
// ***********
//*************
// ***********
//  *********
//   *******
//    *****
//     ***
//      *
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= (2 * n - 1); j++)
//		{
//			if (j > n-i && j < n+i)
//			{
//				printf("*");
//			}
//			else
//			{
//				printf(" ");
//			}
//		}
//		printf("\n");
//	}
//	for (int i = n; i > 1; i--)
//	{
//		for (int j = (2 * n - 1); j >= 1; j--)
//		{
//			if (j > n  - i +1 && j < n  + i - 1)
//			{
//				printf("*");
//			}
//			else
//			{
//				printf(" ");
//			}
//		}
//		printf("\n");
//	}
//	return 0;
//}
//⽔已知1瓶汽⽔1元，2个空瓶可以换⼀瓶汽⽔，输⼊整数n（n>=0），表⽰n元钱，计算可以换多少汽
//⽔，请编程实现。
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int empty = n;
//	int sum = n;
//	while (empty > 1)
//	{
//		sum += empty / 2;
//		empty = empty / 2 + empty % 2;
//	}
//	printf("%d", sum);
//	return 0;
//}
//int main()
//{
//	float n = 0;
//	scanf("%f", &n);
//	int sum = 0;
//	while (n >= 1)
//	{
//		sum += (int)n;
//		n = n - (int)n * 0.5;
//	}
//	printf("%d", sum);
//	return 0;
//}

//输⼊⼀个字符串，将字符串中⼤写字⺟全部转为⼩写字⺟，⼩写字⺟转成⼤写字⺟，其他字符保持不
//变。注：字符串的⻓度⼩于等于30，其中字符串中包含空格
//⽅法1：不使⽤库函数
//#include <ctype.h>
//int main()
//{
//	char arr[31] = { 0 };
//	scanf("%s", arr);
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < sz; i++)
//	{
//		if (islower(arr[i]))
//		{
//			arr[i]=toupper(arr[i]);
//		}
//		else if (isupper(arr[i]))
//		{
//			arr[i]=tolower(arr[i]);
//		}
//	}
//	printf("%s", arr);
//	return 0;
//}


//写⼀个函数Swap，可以交换两个整数的内容。注意必须实现成函数完成。
//输⼊2个整数，调⽤⾃定义函数Swap，完成2个整数的交换。
//void Swap(int* pa, int* pb)
//{
//	int ret = *pa;
//	*pa = *pb;
//	*pb = ret;
//}
//int main()
//{
//	int a, b;
//	scanf("%d %d", &a, &b);
//	Swap(&a, &b);
//	printf("%d %d", a, b);
//	return 0;
//}


//写⼀个函数Strlen，可以求字符串⻓度，注：字符串的结束标志是 \0 .
//输⼊⼀个字符串（字符串⻓度⼩于等于30，中间不包含空格），使⽤Strlen函数可以求字符串的⻓
//度，并返回。
//int Strlen(char arr[])
//{
//	int count = 0;
//	int i = 0;
//	while (arr[i] != '\0')
//	{
//		i++;
//		count++;
//	}
//	return count;
//}
//int main()
//{
//	char arr[31] = { 0 };
//	scanf("%s", arr);
//	printf("%d", Strlen(arr));
//	return 0;
//}\

//